import { UserProfilesAPI } from "@/request/api"
export default {
    namespaced: true,
    state: {
        // 购物车数量
        cartTotal: 0,
        // 用户信息
        userInfo: {
            headImg: require("../../assets/img/userImg.f8bbec5e.png"),
            nickName: "--",
            coin: "--"
        }
    },
    mutations: {
        updateUserInfo(state, payload) {
            state.cartTotal = payload.cartTotal;
            state.userInfo = payload.userInfo;
        },
        initUserInfo(state) {
            state.cartTotal = 0;
            state.userInfo = {
                headImg: require("../../assets/img/userImg.f8bbec5e.png"),
                nickName: "--",
                coin: "--"
            }
        }
    },
    actions: {
        asyncUpdateUserInfo({ commit }) {// 结构格式： let {属性名} = 对象  
            UserProfilesAPI().then(res => {
                // console.log(res.data);
                // 更新购物车数量cartTotal和用户信息userInfo
                commit("updateUserInfo", res.data)
            });
        }
    },
}
// 什么位置需要渲染用户信息？
// 1、登录成功(微信登录和手机号登录)的回调函数里面，调用asyncUpdateUserInfo()，更新用户信息
// 2、加载TopBar组件的时候。